package br.ifrn.tads.poo.negocio;
import br.ifrn.tads.poo.carro.*;
import br.ifrn.tads.poo.pessoa.*;
import java.util.*;

public class Aluguel {

	private Carro carro;
	private Cliente cliente;
	private Date dataRetirada;
	private Date dataDevolucao;
	private int valor;
	
	public Aluguel(Cliente cliente, Carro carro) {
		this.carro = carro;
		this.cliente = cliente;
		this.dataRetirada = new Date();
	}
	
	public Aluguel(Cliente cliente, Carro carro, Date data) {
		this.carro = carro;
		this.cliente = cliente;
		this.dataRetirada = data;
	}
	
	public Aluguel(Reserva reserva) {
		this.carro = reserva.getCarro();
		this.cliente = reserva.getCliente();
		this.dataRetirada = new Date();
	}
	
	public void calcular() {
		long diff = ((dataDevolucao.getTime() - dataRetirada.getTime()) / (60 * 60 * 1000)) / 24;
		if (diff < 1) { diff++; }
		this.valor = carro.getValorDiaria() * (int) diff;
	}
	
	public Carro getCarro() {
		return this.carro;
	}

	public void setCarro(Carro carro) {
		this.carro = carro;
	}

	public Cliente getCliente() {
		return cliente;
	}

	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}
	
	public Date getDataRetirada() {
		return dataRetirada;
	}

	public void setDataRetirada(Date dataRetirada) {
		this.dataRetirada = dataRetirada;
	}

	public Date getDataDevolucao() {
		return dataDevolucao;
	}

	public void setDataDevolucao(Date dataDevolucao) {
		this.dataDevolucao = dataDevolucao;
	}
	
	public int getValor() {
		return valor;
	}
	
}
